<?php


namespace app\common\validate\shop;


use yiqiniu\extend\validate\YqnValidate;

/**
 * 门店导购
 * Class ShopSalesman
 * @package app\common\validate\shop
 */
class ShopSalesmanValid extends YqnValidate
{

    /**
     *  字段：'id'，    类型：'bigint',    是否为空：1,    说明：
     *  字段：'mer_id'，    类型：'character varying(20)',    是否为空：1,    说明：所属商户
     *  字段：'shop_id'，    类型：'integer',    是否为空：1,    说明：所属店铺
     *  字段：'name'，    类型：'character varying(20)',    是否为空：1,    说明：姓名
     *  字段：'mobile'，    类型：'character varying(20)',    是否为空：1,    说明：联系电话
     *  字段：'point'，    类型：'integer',    是否为空：1,    说明：
     *  字段：'red_packet'，    类型：'numeric(10,2)',    是否为空：1,    说明：当前红包金额
     *  字段：'open_id'，    类型：'character varying(60)',    是否为空：1,    说明：微信openid
     *  字段：'union_id'，    类型：'character varying(60)',    是否为空：1,    说明：微信union_id
     *  字段：'nickname'，    类型：'character varying(60)',    是否为空：1,    说明：微信昵称
     *  字段：'address'，    类型：'character varying(200)',    是否为空：1,    说明：详细地址
     *  字段：'lat'，    类型：'character varying(20)',    是否为空：1,    说明：经度
     *  字段：'lng'，    类型：'character varying(20)',    是否为空：1,    说明：纬度
     *  字段：'op_user'，    类型：'integer',    是否为空：1,    说明：操作人
     *  字段：'create_at'，    类型：'timestamp(0) without time zone',    是否为空：1,    说明：创建时间
     *  字段：'update_at'，    类型：'timestamp(0) without time zone',    是否为空：,    说明：更新时间
     */

    /**
     *  验证规则
     */
    protected $rule = [
        'id' => 'require|number|dbExists:shop_salesman,id',
        'mer_id' => 'require',
        'shop_id' => 'require|number|dbExists:shop,id',
        'name' => 'require|chs',
        'mobile' => 'require|mobile',
        'point' => 'require|number|gt:0',
        'red_packet' => 'require|float',
        'open_id' => 'require',
        'union_id' => 'require',
        'nickname' => 'require',
        'address' => 'require',
        'lat' => 'require',
        'lng' => 'require',
        'op_user' => 'require|number',
        'create_at' => 'require|date',
        'update_at' => 'date',
        'status' => 'require|number|in:0,1',
        'type' => 'require|number|in:1,2',
        'pics' => 'require'

    ];

    /**
     * 定义错误信息
     * 格式：'字段名.规则名'    =>    '错误信息'
     *
     * @var array
     */
    protected $message = [
        'id.require' => '主键不能为空',
        'id.number' => '只能为数字类型',
        'id.dbExists' => '信息不存在',
        'mer_id.require' => '所属商户不能为空',
        'shop_id.require' => '所属店铺不能为空',
        'shop_id.dbExists' => '所属店铺不存在',
        'shop_id.number' => '所属店铺只能为数字类型',
        'name.require' => '姓名不能为空',
        'name.chs' => '请填写真实姓名',
        'mobile.require' => '手机号码不能为空',
        'mobile.mobile' => '手机号码格式不正确',
        'point.require' => '积分不能为空',
        'point.number' => '积分只能为数字类型',
        'point.gt' => '积分不能小于0',
        'red_packet.require' => '当前红包金额不能为空',
        'red_packet.float' => '当前红包金额只能为数字可带小数点',
        'open_id.require' => '微信openid不能为空',
        'union_id.require' => '微信union_id不能为空',
        'nickname.require' => '微信昵称不能为空',
        'address.require' => '详细地址不能为空',
        'lat.require' => '当前不能定位您的位置，请检查手机位置权限是否开启',
        'lng.require' => '当前不能定位您的位置，请检查手机位置权限是否开启',
        'op_user.require' => '操作人不能为空',
        'op_user.number' => '操作人只能为数字类型',
        'create_at.require' => '创建时间不能为空',
        'create_at.date' => '创建时间只能为日期类型',
        'update_at.date' => '更新时间只能为日期类型',
        'status.require' => '状态不能为空',
        'status.number' => '状态只能为数字',
        'status.in' => '状态类型错误',
        'type.in' => '状态类型错误',
        'type.number' => '状态类型错误',
        'type.require' => '状态类型不能为空',
        'pics.require' => '门头图片不能为空',


    ];

    //验证场景
    protected $scene = [
        'salesman_save_bind' => ['id', 'status'],
        'salesman_save' => ['id','shop_id','name','mobile'],
        'salesman_save_point' => ['id','memo','point','type'],
        'salesman_info' => ['id'],
        'salesman_eliminate_wx_info' => ['id'],
        'salesman_eliminate_wx_address' => ['id'],
        'wx_register' => ['name','mobile','lng','lat','open_id','mer_id','pics'],
        'get_location' => ['lng','lat'],
    ];
}
